// 引入gulp及插件
var gulp = require('gulp');
var uglify = require("gulp-uglify");
var sass = require('gulp-ruby-sass');
var imagemin = require('gulp-imagemin');
var browserSync = require('browser-sync');
var autoprefixer = require('gulp-autoprefixer');



// gulp 默认任务
gulp.task('default', ['browserSync', 'imagemin', 'jsMin'], function(){
	gulp.watch('./src/scss/**/*.scss', ['sass']);
	gulp.watch('./src/images/**/*.*', ['imagemin']);
	gulp.watch('./src/js/**/*.js', ['jsMin']).on('change', browserSync.reload);
});


// sass解析任务
gulp.task('sass', function(){
	sass('./src/scss/**/*scss')
		.on('error', function (err) {
            console.error('Error!', err.message);
        })
        .pipe(autoprefixer({
        	browsers: ['Android >= 2.3', 'iOS >= 7'],
            cascade: true,  //是否美化属性值 默认：true 像这样：
        	remove:true 	//是否去掉不必要的前缀 默认：true
        }))
        .pipe(gulp.dest('./build/css'))
        .pipe(browserSync.reload({stream: true}));
});

// 浏览器刷新任务
gulp.task('browserSync', function(){
	browserSync({
	    server: {
	      baseDir: './'
	    },

	    // 在Chrome浏览器中打开网站 
		browser: ["chrome"],

		// 监听的文件列表
		files : [
			'./build/css/**/*.css',
			'./build/js/**/*.js',
			'./build/images/**/*.*',
			'./index.html'
		],
	});
});


// 图片压缩任务
gulp.task('imagemin', function(){
	return gulp.src('./src/images/**/*.*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [
                {removeViewBox: false},
                {cleanupIDs: false}
            ],
        }))
        .pipe(gulp.dest('./build/images'));
});

// JS代码检查任务
gulp.task('jsMin', function () {
    gulp.src('./src/js/**/*.js') // 要压缩的js文件
    .pipe(uglify())  //使用uglify进行压缩,更多配置请参考：
    .pipe(gulp.dest('./build/js')); //压缩后的路径
});
